#ifndef     __MOVE_MOTOR_H
#define     __MOVE_MOTOR_H

#include "../utils/object.h"
#include "../utils/nocopyable.h"
#include "../utils/error.h"

namespace pearl_driver {

class MoveMotor : public Object<MoveMotor>, private NoCopyable {

public:

    void init();

    bool is_alm() const;

    Error run_with_mm(uint32_t mm) {
        return run( 400 * mm / 5 );
    }

private:
    Error run(uint32_t position);
};

extern MoveMotor moveMotor;

}


#endif
